//
//  RevanTitleButton.swift
//  weibo_swift
//
//  Created by 紫荆秋雪 on 17/1/10.
//  Copyright © 2017年 紫荆秋雪. All rights reserved.
//

import UIKit

class RevanTitleButton: UIButton {

    /// 重载构造函数
    init(title: String?) {
        super.init(frame: CGRect())
        // 1、判断 title是否为 nil
        if title == nil {
            setTitle("首页", for: [])
        } else {
            setTitle(title! + "   ", for: [])
            
            // 设置图像
            setImage(UIImage(named: "navigationbar_arrow_down"), for: [])
            setImage(UIImage(named: "navigationbar_arrow_up"), for: .selected)
            //给 文字 图片设置背景颜色
            titleLabel?.backgroundColor = UIColor.clear
            imageView?.backgroundColor = UIColor.clear
        }
        //设置文字颜色
        titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
        setTitleColor(UIColor.darkGray, for: [])
        // 自定义尺寸
        sizeToFit()
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    /// 重新布局子视图
    override func layoutSubviews() {
        super.layoutSubviews()
        //判断 label 和 imageView 是否同时存在
        guard let titleLabel = titleLabel,
                let imageView = imageView else {
            return
        }
        // 将 label 的 x 向左移动 imageView 的宽度
        titleLabel.frame = titleLabel.frame.offsetBy(dx: -imageView.bounds.width, dy: 0)
        // 将 imageView 的 x 向右移动 label 的宽度
        imageView.frame = imageView.frame.offsetBy(dx: titleLabel.bounds.width, dy: 0)
        
    }

}
